#include "eigen/Eigen/Dense" 
#include <set>
#include <vector>
using namespace Eigen;

class ScipyDistance{
    public:
        static float yule(VectorXf u, VectorXf v);
        static float braycurtis(VectorXf u, VectorXf v);
        static float sokalmichener(VectorXf u, VectorXf v);
        static float dice(VectorXf u, VectorXf v);
        static float russellrao(VectorXf u, VectorXf v);
        static float kulsinski(VectorXf u, VectorXf v);
        static float canberra(VectorXf u, VectorXf v);
        static float chebyshev(VectorXf u, VectorXf v);
        static float skew(VectorXf u);
        static float kurtosis(VectorXf u);
        static float jaccard(VectorXf u, VectorXf v);

    private:
        static void countNotBool(VectorXf u, VectorXf v, float &tt, float &tf, float &ff, float &ft);
        static float moment(const VectorXf &u, int n);
};
